package com.hulk.common;

import java.io.Serializable;

import net.sf.ehcache.Element;
import net.sf.ehcache.store.compound.ReadWriteCopyStrategy;

/** 
 * @author CUIJIAJUN
 *
 * @date 2016年11月24日 下午2:52:03
 *
 */
public class MyCopyStrategy implements ReadWriteCopyStrategy<Element> {
	private static final long serialVersionUID = -3868922002318084128L;
	
	//当write缓存的时候会调用这个方法
	@Override
	public Element copyForWrite(Element value) {
		if(value != null){
			System.out.println("value==="+value);
	        Object temp=(Serializable)value.getObjectValue();
	        value.setEternal(false);
	        value.setTimeToLive(5);
			return new Element(value.getObjectKey(),temp);
		}
		return value;
	}
	//当read缓存的时候会调用这个方法
	@Override
	public Element copyForRead(Element storedValue) {
		if(storedValue != null){
			System.out.println("storedValue==="+storedValue);
	        Object temp=(Serializable)storedValue.getObjectValue();
			return new Element(storedValue.getObjectKey(),temp);
		}
		return storedValue;
	}
}
